다음과 같이 실행할 때사용자 1같은 디렉토리(/홈/사용자1/WWW)
[user1@server1 WWW (master)]# touch c
디렉터리에 파일 c를 만듭니다.
[root@server1 WWW (master) ACCEPTATIE SERVER]# su - user1 -c "touch c"
오류가 발생합니다
터치: 'c'를 터치할 수 없습니다: 권한이 거부되었습니다.
왜 그럴까요?
답변1
이렇게 하면 su - username
해당 사용자로 전체 로그인이 수행됩니다. 즉, 해당 사용자의 홈 디렉터리로 이동하게 됩니다. 따라서 이 방법으로 실행하면 touch c
사용자의 홈 디렉터리에서 명령을 실행하려고 합니다.
-
대신 명령줄에서 삭제하세요.
su user1 -c "touch c"
touch c
이는 다음과 같이 실행됩니다user1
현재의목차.
추측:
su -
다른 사용자가 소유한 이름의 파일이 홈 디렉터리에 이미 존재하기 때문에 원래 명령이 실패했습니다 .c
user1